(function (define, angular) {
    "use strict";

    define([
        '4280/Page/services/SharedAppData',
        '4280/Page/controllers/PageController',
        '4280/Page/controllers/NavigationController',
        '4280/Page/controllers/HeadController',
    ],
        function (SharedAppData, PageController, NavigationController, HeadController) {
            var moduleName = "4280.page";

            angular.module(moduleName, ["ngAnimate"])
                .factory("SharedAppData", SharedAppData)
                .controller("PageController", PageController)
                .controller("NavigationController", NavigationController)
                .controller("HeadController", HeadController)
                .filter('array', function() {
                    return function(items) {
                        var filtered = [];
                        angular.forEach(items, function(item) {
                            filtered.push(item);
                        });
                        return filtered;
                    };
                });

            return moduleName;
    });
}(define, angular));